#include"process.h"
#include<stdio.h>
#include<string.h>
#include<unistd.h>

#define SIZE 101
#define STYLE '#'
void FlushProcess(const char *tips, double total, double current)
{
	const char *lable = "|/-\\";
	int len = strlen(lable);
	static int index = 0;
	char buffer[SIZE];
	memset(buffer, 0, sizeof(buffer));

	double rate = current * 100.0 / total;
	int num = (int)rate;

	int i = 0;
	for(i = 0; i < num; i++)
	{
		buffer[i] = STYLE;
	} 
	
	//dayin xuanzhuan
	printf("%s...[%-100s][%.1lf%%][%c]\r", tips, buffer, rate, lable[index++]);
	fflush(stdout);
	index %= len;
	if(num >=100){printf("\n");fflush(stdout);}
}

//v1 展示进度条基本功能
void process()
{
	int rate = 0;
	char buffer[SIZE];
	memset(buffer, 0, sizeof(buffer));
	const char *lable = "|/-\\";
	int len = strlen(lable);
	
	while(rate <= 100)
	{
		printf("[%-100s] [%d][%c]\r", buffer, rate, lable[rate % len]);
		fflush(stdout);
		buffer[rate] = STYLE;
		rate++;
	usleep(50000);
	}
	printf("\n");
}
